大家好!最近最夯的 AI 聊天機器人: ChatGPT GPT-4 已上架了,筆者在這邊簡單介紹一下其模型。
根據文獻[1][2], 其模型是 Transformerd 模型架構, 訓練分為 pre-trained (預先訓練), post-trained, 所謂 pre-trained 可以用來預測文章中下一個 token (語言文本的基本單位,可以想像成"字元"); 而 post-trained 用來優化先前的訓練,提高精準度。
[1] https://arxiv.org/pdf/2303.08774.pdf
[2] https://cdn.openai.com/papers/gpt-4-system-card.pdf
此兩文獻都可由 OpenAI 網站上下載: https://openai.com/research
其實 GPT-4 是 Transformerd 模型架構,再加上 RL (Reinforcement learning, 強化學習) PPO (所謂 PPO 是 "on-policy", 還有另一種是 "off-policy" , 例如: Q-learning), 何謂 "on-policy" 呢? 就是除了原本最佳策略(Greedy algorithm, 簡單來說是尋找最佳解)之外, 再提取一部分的資料來作為資料探索(Explorer), 通常比例為 90%,10% (可經由訓練結果而自訂), 所謂資料探索是尋找沒有嘗試過的新解法(new solution)。
架構圖如下,可於官方網站上看到 https://openai.com/blog/chatgpt
Step 1: 收集提示資料, 訓練 SFT 模型
首先,來簡單介紹一下其架構,由左上開始,分為三個區塊 (Step 1, 2, 3); 第一步就是資料收集,這些資料都來自於 prompt dataset, 來源可能是使用者目前所輸入的,或是原本資料庫內舊有的 (既有的資料可能經過 RL 強化學習),接下來進行人工標註(labeler),以人為介入模型輸出判斷。再來就是以微調模型 GPT-3.5 (現在或許是 4), 來訓練 SFT 模型(Supervised fine-tuned model)。
Step 2: 訓練獎勵模型 (RM, Rewars model)
再來是中間 Step 2 的部分,收集比較資料,並且訓練獎勵(Reward)模型。不同來源或來自於不同模型 (或相同模型) 訓練出來的"答案", 經由人工排序 (最佳解到最不可能的解),再將這些數據用來訓練獎勵模型(RM)。
Step 3: 以 PPO 優化 SFT 最終(佳)模型, 並將輸出反饋給獎勵模型, 反覆訓練調整
最後是右邊 Step 3, 使用 PPO 來優化(Optimized) policy (微調的 SFP 模型,也就是文本生成和語意辨識最佳(終)模型),該模型生成的"答案",再進一步餵給獎勵模型作評分,反覆訓練調整。由此可知,"只有"此步驟沒有人為介入。前面兩步驟(Step 1, 2) 作為 SFT 模型和獎勵模型 (RM) 初始化才有人為介入。
另外筆者也發現 Azure Open AI 悄悄上架了,有興趣的觀眾可以研究一下:
https://learn.microsoft.com/zh-tw/azure/cognitive-services/openai/concepts/models